package org.eiahe.hr.attendance.domain;

import java.util.Date;

/**
 * @author :zhangnn
 * @className :DingTalkAttendanceRecord
 * @description: TODO
 * @date 2025-11-14 09:52:51
 */
public class DingTalkAttendanceRecord {
    /** 用户ID */
    private String userId;
    /** 打卡时间 */
    private Date userCheckTime;
    /** 打卡类型: OnDuty上班, OffDuty下班 */
    private String checkType;
    /** 位置结果: Normal正常, Outside外勤 */
    private String locationResult;
    /** 定位方式 */
    private String locationMethod;
    /** 设备ID */
    private String deviceId;
    /** 基准打卡时间 */
    private Date baseCheckTime;
    /**
     * Normal：正常
     * Early：早退
     * Late：迟到
     * SeriousLate：严重迟到
     * Absenteeism：旷工迟到
     * NotSigned：未打卡
     */
    private String timeResult;
    /** 位置名称 */
    private String locationTitle;
    /**
     * 数据来源: ATM考勤机, BEACON蓝牙, DING_ATM钉钉考勤机, USER用户打卡, BOSS老板改签, APPROVE审批系统,
     * SYSTEM系统
     */
    private String sourceType;

    // Getter and Setter methods
    public String getUserId() {
        return userId;
    }

    public void setUserId(String userId) {
        this.userId = userId;
    }

    public Date getUserCheckTime() {
        return userCheckTime;
    }

    public void setUserCheckTime(Date userCheckTime) {
        this.userCheckTime = userCheckTime;
    }

    public String getCheckType() {
        return checkType;
    }

    public void setCheckType(String checkType) {
        this.checkType = checkType;
    }

    public String getLocationResult() {
        return locationResult;
    }

    public void setLocationResult(String locationResult) {
        this.locationResult = locationResult;
    }

    public String getLocationMethod() {
        return locationMethod;
    }

    public void setLocationMethod(String locationMethod) {
        this.locationMethod = locationMethod;
    }

    public String getDeviceId() {
        return deviceId;
    }

    public void setDeviceId(String deviceId) {
        this.deviceId = deviceId;
    }

    public Date getBaseCheckTime() {
        return baseCheckTime;
    }

    public void setBaseCheckTime(Date baseCheckTime) {
        this.baseCheckTime = baseCheckTime;
    }

    public String getTimeResult() {
        return timeResult;
    }

    public void setTimeResult(String timeResult) {
        this.timeResult = timeResult;
    }

    public String getLocationTitle() {
        return locationTitle;
    }

    public void setLocationTitle(String locationTitle) {
        this.locationTitle = locationTitle;
    }

    public String getSourceType() {
        return sourceType;
    }

    public void setSourceType(String sourceType) {
        this.sourceType = sourceType;
    }
}
